---
sidebar_position: 19
---

import StaticVideo from "@site/src/components/StaticVideo"

# Visual Studio Code Extension

The [Visual Studio Code](https://code.visualstudio.com/) extension provides the best developer experience for DeviceScript.

-   **find the latest release at [https://github.com/microsoft/devicescript/releases](https://github.com/microsoft/devicescript/releases?expanded=true)**
-   download `devicescript.vsix` from **Assets**
-   install the .vsix file in code

:::tip

The DeviceScript extension is not available from the Marketplace anymore.

:::


You will also need

-   **[Node.JS 20+](https://nodejs.org/en/download/)**
-   **[Visual Studio Code](https://code.visualstudio.com/)**

<StaticVideo name="blinky" />

## Features

-   Build and watch using DeviceScript compiler, deploy to simulator or hardware
-   [Board configuration](/developer/board-configuration) for hardware pins, I2S, SPI configurations
-   [Debugger](./vscode/debugging) with breakpoints, stack traces, exceptions, stepping
-   [Simulator](./vscode/simulation) for DeviceScript and sensors/actuators
-   Connection to native DeviceScript device
-   Device, services, register [Explorer view](./vscode/user-interface)
-   Register and Event watch

### Manual installation from the GitHub releases

-   **find the latest release at [https://github.com/microsoft/devicescript/releases](https://github.com/microsoft/devicescript/releases?expanded=true)**
-   download `devicescript.vsix` from **Assets**
-   install the .vsix file in code

Using the **Install from VSIX** command in the Extensions view command dropdown,
or the **Extensions: Install from VSIX** command in the Command Palette, point to the .vsix file
(see [full instructions](https://code.visualstudio.com/docs/editor/extension-marketplace#_install-from-a-vsix)).

## Creating a new project

-   install [Node.JS 16+](https://nodejs.org/en/download/)
-   From the Command palette, type **DeviceScript: Create New Project...** and follow the prompts.

The new project should be ready to go.

## DeviceScript basics

Navigate to the [Developer section](/developer) to learn the basics of the language.

:::tip

To report an issue, open the command palette and run **DeviceScript: Report Issue...\***.

:::
